IICSからAmazon S3へIAM Roleで接続するコネクタを作成する
どうも!DA部の春田です。
本記事では、Informatica Intelligent Cloud Services(以下、IICS)でAmazon S3に接続するためのコネクタを作成していきます。
S3に接続するためには、以下の方法がありますが、今回はIAM Roleを使った方法をご紹介します。
- S3バケットでパブリックアクセスを許可する
- IICSにAWSのAWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEYを登録する
- Secure Agentに付与したIAM Roleを使用する。
シークレットをそのまま登録するのは少し気が引けますからね…。S3に接続する際はこれがベストプラクティスとなるはずです。
事前準備
IAM Roleで接続するためには、EC2インスタンスでSecure Agentが稼働している必要があります。Secure Agentサーバーの構築方法については、以下の記事をご参照ください。
S3のバケットも作成しておき、適当なファイルを配置しておきましょう。
IAM Roleの設定
まずはAWS側の設定を行っていきます。Secure AgentインスタンスにアタッチするIAM Roleを作成しましょう。ロールの作成が画面から、EC2
をユースケースに選択します。
今回アタッチするポリシーは、AmazonS3FullAccess
にしておきます。権限を絞りたい方は、各自で調節してください。
タグと名前を決めて作成すると、こんな感じに仕上がるかと思います。これをSecure Agentインスタンスにアタッチします。
EC2の画面からSecure Agentインスタンスを選択し、アクション
→セキュリティ
→IAMロールを変更
をクリックします。
先ほど作成したIAM Role、こちらではcm-haruta-secure-agent
を選択して保存します。
これでIAM Roleのアタッチは完了です!
IICSのコネクションの設定
次に、IICS側の設定を行っていきます。メインメニューからAdministrator
をクリックしてください。
続いて、サイドバーのConnections
をクリックします。
既存のコネクション一覧が表示されると思います。New Connection
をクリックして、コネクションを新規作成しましょう。
Connection Details
の画面が表示されたら、Connection Name
とType
を設定します。Type
は、今回はAmazon S3 v2
となります。
Amazon S3 v2
を選択すると、自動的に設定項目が表示されます。以下のように設定してください。
- Runtime Environment
- 先ほど作成したIAM RoleがアタッチされたSecure Agentインスタンス
- Folder Path
- コネクションで読みにいきたいS3のバケットとフォルダ。
s3://
では始まらない点に注意
- コネクションで読みにいきたいS3のバケットとフォルダ。
- Region Name
- Folder Pathで指定したS3バケットのリージョン。
cm-haruta
はアジアパシフィック (東京) ap-northeast-1
に存在
- Folder Pathで指定したS3バケットのリージョン。
画面右上のTest Connection
をクリックして、問題なければ保存します。これでコネクションの作成は完了です。
参照できるか確認してみる
コネクションがちゃんと使えるかどうか、Mapping Designerを使って確認してみます。Sourceに先ほど作成したコネクションを選択し、Select
をクリックしてブラウズします。
良い感じに取得できてますね!OKです。
最後に
IICSとAWSを組み合わせて使う場合、Amazon S3はかなり重要なハブになるはずです。ぜひ初期段階から作成しておきましょう!
参照: Configuring AWS IAM Authentication for Amazon S3 and Amazon S3 V2 Connectors